package com.legendframework.core;

import com.legendframework.core.cmd.CommandManager;
import com.legendframework.core.cmd.CommandRootConfig;

/**
 * 指令相关接口
 */
public interface RootCmd {

    /**
     * 获取当前插件的根指令
     * 如果这个方法你返回NULL，请务必再你插件的plugin.yml中添加一个项：commands:
     * @return
     */
    String getRootCmd();

    /**
     * 获取根指令配置
     * @return
     */
    CommandRootConfig getCommandRootConfig();

    /**
     * 是否自动代替在plugin.yml中写入指令配置
     * @return
     */
    default boolean isAutowiredRegister(){
        return true;
    }

    /**
     * 构建指令管理器
     * @return
     */
    CommandManager getCommandManager();
}
